package com.ziroom.crm.mq.core.data;

/**
 * <p></p>
 * <p>
 * <PRE>
 * <BR>    修改记录
 * <BR>-----------------------------------------------
 * <BR>    修改日期         修改人          修改内容
 * </PRE>
 *
 * @author WeiShaoying
 * @version 1.0
 * @date Created in 2020年09月04日 10:03
 * @since 1.0
 */
public enum ProcessTypes {

    /**
     * 重新发送
     */
    RESEND,

    /**
     * 发送
     */
    SEND,

    /**
     * 消费
     */
    CONSUME,

    /**
     * 重新消费
     */
    RE_CONSUME,

    /**
     * 死信消费者
     */
    DEAD_CONSUME,

    /**
     * 死信发送者
     */
    DEAD_SEND,

    /**
     * 消费端，全部异常消息备份
     */
    BACKUP_CONSUME,

    /**
     * 生产端，全部异常消息备份
     */
    BACKUP_SEND,

    /**
     * 消费端，全部成功消息备份
     */
    SUCCESS_CONSUME,

    /**
     * 生产端，全部成功消息备份
     */
    SUCCESS_SEND,

    ;


    public ProcessTypes getDeadType() {
        if (this == RESEND || this == SEND) {
            return DEAD_SEND;
        }
        if (this == RE_CONSUME || this == CONSUME) {
            return DEAD_CONSUME;
        }
        return null;
    }
}
